Skip to content

Re-Adds Obeah (And Valeren because Nimi)#686

Open
XeonMations wants to merge 42 commits intoDarkPack13:masterfrom
XeonMations:obeah
Open

Re-Adds Obeah (And Valeren because Nimi)#686
XeonMations wants to merge 42 commits intoDarkPack13:masterfrom
XeonMations:obeah

Conversation

@XeonMations
Copy link
Copy Markdown
Collaborator

@XeonMations XeonMations commented Feb 19, 2026

About The Pull Request

Saluri healer discipline.

Armor of Caine's Fury
https://buffybox.thefinalnights.com/game/armorofcaine.mp4

Uses signals to modify incoming damage, rather than the fortitude armor datums (which I could not verify even work)

Why It's Good For The Game

Changelog

🆑
add: Adds Obeah
add: @buffyuwu Adds Valeren
/:cl:

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 4, 2026

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~7 days. Please address any outstanding review items and ensure your PR is finished - if both are true, and you have auto-staled anyway, you need to actively ask maintainers (by pinging them in the /tg/station Discord) to (re)review or merge your PR. If no maintainer responds to your request, you may wish to close this PR yourself while you seek maintainer comment, as you will later be able to reopen the PR yourself.

@github-actions github-actions bot added the Stale label Mar 4, 2026
@github-actions github-actions bot closed this Mar 12, 2026
@XeonMations XeonMations reopened this Mar 14, 2026
@XeonMations
Copy link
Copy Markdown
Collaborator Author

`°°° CORPORE SANO

Laying on Hands to heal someone, on/close to the wound (-> passive grab on bodypart/ if that is too hard with the Body part, just passive grab)
Third eye opens
Works on Living AND Undead
Each Health Level to be healed -> 1BP, 2BP for agg Damage (How much Damage = 1 Health Level?) 

°°°° SHEPERD'S WATCH

INVISIBLE barrier 
Salubri must stand between those they protect
Ranged weapons can still attack, enemies just can't Approach
2WP to errect 
3 metre radius
those inside it at its creation "may leave and return" 
 barrier moves with the Salubri
To cross barrier: extended, resisted Willpower roll
	-> (difficulty equals the opponent’s current Willpower for the Salubri, and the Salubri’s current Willpower for the opponent)
	-> The opponent can cross as soon as they accumulate three more net successes than the Salubri

°°°°° MENS SANA (in current Version it's not mens sana, but 'unburdening the bestial Soul, which is sixth dot)

Heals 'madness'/Derangements 
2BP and  Intelligence + Empathy (dif 8)
10 minutes of uninterrupted conversation (-> 10 ic Minutes timer)
cures the subject of one derangement of the Salubri player’s choice (-> Cure brain Trauma Derangements Maybe?) 
can't cure a Malkavian of their core derangement, CAN alleviate it for the rest of the Scene (-> round??? could take the Malk hallucinations away for the rest of the 	round)
Botch -> Salubri gets the Derangement
Can't be used by salubri on themselves

`

@github-actions github-actions bot removed the Stale label Mar 15, 2026
@github-actions github-actions bot added the UI label Mar 21, 2026
@XeonMations XeonMations changed the title Re-Adds Obeah Re-Adds Obeah (And Valeren because Nimi) Mar 21, 2026
@buffyuwu buffyuwu moved this from Todo to In Progress in Rebase Mar 23, 2026
@XeonMations XeonMations marked this pull request as ready for review March 24, 2026 23:58
@XeonMations XeonMations requested review from a team as code owners March 24, 2026 23:58
@XeonMations XeonMations moved this from In Progress to Ready in Rebase Mar 25, 2026
Copy link
Copy Markdown
Contributor

@chazzyjazzy chazzyjazzy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mostly just datumizing rolls tbh.


/datum/discipline_power/valeren/sense_vitality/pre_activation_checks(mob/living/target)
. = ..()
successes = SSroll.storyteller_roll(owner.st_get_stat(STAT_PERCEPTION) + owner.st_get_stat(STAT_EMPATHY), 7, owner, TRUE)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

datumize rolls

Comment on lines +73 to +76
if(successes > 1)
return TRUE
else
return FALSE
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

successes = 1 is false?

from above:
One success on this roll
identifies a subject as a mortal, vampire, ghoul, or other creature.

Comment on lines +179 to +186
var/list/mental_conditions = list()
if(target.has_quirk(/datum/quirk/insanity))
mental_conditions += "insanity"
if(target.has_quirk(/datum/quirk/derangement))
mental_conditions += "an incurable derangement"
if(length(mental_conditions))
msg_mental = "[english_list(mental_conditions)] clouds their mind."

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

else !length(mental_conditions) ? you have a case for this for diseases. not necessary but figured its worth a mention


/datum/discipline_power/valeren/anesthetic_touch/pre_activation_checks(mob/living/target)
. = ..()
successes = SSroll.storyteller_roll(owner.st_get_stat(STAT_TEMPORARY_WILLPOWER), (target.combat_mode ? 8 : 6), owner, TRUE)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

datumize.

// this is basically just potence 5 with stat bonuses, used potence as a baseline because of the 'makes for significant damage' wording in v20 above
/datum/discipline_power/valeren/vengeance_of_samiel
name = "Vengeance of Samiel"
desc = "The Salubri antitribu strikes his foe with superhu-man accuracy and strength, as his third eye opens and changes to a furious, icy blue. Some Furies invoke the names of ancient Salubri warriors, while others simply close their normal eyes and let Samiel guide their hands."
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

... superhu-man? shouldnt it just be, superhuman? or perhaps super human.

else
living_target.heal_storyteller_health(dots_to_heal = 1, heal_aggravated = FALSE, heal_scars = TRUE, heal_blood = TRUE)

// Radius - the length of the line you draw from the central point of a circle towards any point of the outer boundary, which in geometry is called the circumference.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

... lol, this may be unnecessary. if someone actually was like idk what a radius is then keep it i guess. still, pretty funny.

Comment on lines +273 to +275
/datum/discipline_power/obeah/unburden_the_bestial_soul/activate(atom/target)
. = ..()
var/mob/living/carbon/carbon_target = target
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

casting as carbon when target_living, could runtime if used on, idk, a deer or some shit, or a basicmob

if(!chosen_derangement)
to_chat(owner, span_notice("You fail to find any traumas."))
return
var/datum/storyteller_roll/unburden_the_bestial_soul/discipline_roll = new()
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
var/datum/storyteller_roll/unburden_the_bestial_soul/discipline_roll = new()
if(!discipline_roll)
discipline_roll = new()

youre casting and storing in the constructor so only new if its doesnt exist.

Comment on lines +9 to +10
/datum/storyteller_roll/shepherds_watch/contested
bumper_text = "willpower"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is what the player sees as like, the title of the roll window in the chatbox, so it's just gonna say 'willpower' lol. players can always hover over the text in the chatbox for the roll and it says what stats were used. up to you if you wanna change it

to_chat(owner, span_warning("You can't put a Kindred to sleep with this power!"))
return TRUE
target.SetSleeping(sleep_duration_length + (successes TURNS)) // 50 seconds + successes in turns
target.adjust_blood_pool(1) // restores a BP to the target, but if this gets abused, maybe make this depend on successes
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this BP for balancing reasons? makes sense if so, just not sure what the potential abuse is here

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i envision a particularly crafty person casting this on a human bloodbag to refill their bp quicker

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Ready

Development

Successfully merging this pull request may close these issues.

5 participants